AI-learns-to-write-sorting-software-on-its-own

Comments about the News & Views Article in Nature: AI learns to write sorting software on its own

Following is a discussion about this article in Nature Vol 625 June 2023, by Jean-Baptiste Mouret.
To study the full text select this link: https://www.nature.com/articles/d41586-023-01812-5 In the last paragraph I explain my own opinion.

Reflection


Introduction

For decades, the computing industry relied on Moore’s law: as transistors became ever smaller, the number that could be crammed onto a computer chip seemed to double every two years, enabling a similar leap in computing power. But Moore’s law has a natural limit, so software optimization has become just as crucial as miniaturization
That is correct.
Perhaps even more remarkably, the AI system can improve the code without any previous knowledge of the problem itself.
Many compilers have what is called an optimization functionality. Optimization in that sense does mean that that the functionality is not changed. For example so called 'dead code' can be removed. From a scientific point of view these modifications are not interesting.
Program synthesis got a major boost, however, with the advent of deep learning. Early work showed that a neural network trained on a corpus of programs could guide the search for a program that satisfied a specification. That research eventually led to systems that were able to complete challenging programming tasks when prompted with natural-language descriptions of problems. One such system is AlphaCode, which was developed by members of same team as Mankowitz and colleagues.
A limitation of those approaches, however, was that they excelled mostly when solving problems that were similar to those in their training corpus; their applicability was restricted when it came to new programming challenges. Mankowitz and colleagues have now overcome this limitation.
Figure 1 An AI-generated approach to sorting. Mankowitz et al.1 used deep reinforcement learning to improve the efficiency with which the C++ programming language sorts items in a list. The authors’ algorithm used a reward-based system, without the need for any problem-specific training. In one set of experiments, the algorithm focuses on producing routines that sort short sequences of numbers, which are then used as building blocks to sort longer sequences.
  • This is one approach to sorting a sequence containing up to four numbers, involving three separate routines for sorting two, three or four numbers. Red highlights the path taken to sort the example sequence (8, 6, 7, 2)
  • Mankowitz and colleagues’ algorithm generated a different procedure — incrementally sorting sequences of length four by first sorting the first three elements. This method for sorting is now part of the standard C++ library used worldwide.


Reflection 1


Reflection 2


If you want to give a comment you can use the following form Comment form


Created: 20 December 2022

Back to my home page Index
Back to Nature comments Nature Index